﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUS;
using DTO;

namespace GUI
{
    public partial class FormSim_LoaiSim : Form
    {
        //1: thêm
        //2: xóa
        public int status;
        public int maSanPham;
        public bool reset = false;
        public FormSim_LoaiSim()
        {
            InitializeComponent();
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void FormSim_LoaiSim_Load(object sender, EventArgs e)
        {
            if (status == 1)//them
            {
                List<LoaiSimDTO> listLoaiSim = Sim_LoaiSimBUS.DanhSachSim_LoaiSim(maSanPham);
                List<LoaiSimDTO> listLoaiSimFull = LoaiSimBUS.DanhSachLoaiSim();
                int count = 1;
                if (listLoaiSimFull != null)
                {
                    int j;
                    for (int i = 0; i < listLoaiSimFull.Count; i++)
                    {
                        for (j = 0; j < listLoaiSim.Count; j++)
                        {
                            if (listLoaiSim[j].MaLoaiSim == listLoaiSimFull[i].MaLoaiSim)
                            {
                                break;
                            }
                        }

                        if (j == listLoaiSim.Count)
                        {
                            dgvLoaiSim.Rows.Add(count, listLoaiSimFull[i].MaLoaiSim, listLoaiSimFull[i].TenLoaiSim);
                            count++;
                        }
                    }

                }
            }
            else
            {
                btnOK.Text = "Xóa";
                List<LoaiSimDTO> listLoaiSim = Sim_LoaiSimBUS.DanhSachSim_LoaiSim(maSanPham);
                if (listLoaiSim != null)
                {
                    for (int i = 0; i < listLoaiSim.Count; i++)
                    {
                        dgvLoaiSim.Rows.Add((i + 1), listLoaiSim[i].MaLoaiSim, listLoaiSim[i].TenLoaiSim);
                    }
                }
            }
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            Sim_LoaiSimDTO sim_loaiSim = new Sim_LoaiSimDTO();
            sim_loaiSim.MaLoaiSim =  (int)dgvLoaiSim.CurrentRow.Cells[ColMaLoaiSIm.Index].Value;
            sim_loaiSim.MaSanPham = maSanPham;
            if (status == 1)
            {
                if (Sim_LoaiSimBUS.ThemSim_LoaiSim(sim_loaiSim))
                {
                    MessageBox.Show("Thêm thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    reset = true;
                    this.Dispose();
                }
                else
                {
                    MessageBox.Show("Thêm thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                }
            }
            else
            {
                if (dgvLoaiSim.Rows.Count == 1)
                {
                    MessageBox.Show("Không thể xóa\nSim phải thuộc ít nhất một loại sim", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                }
                else
                {
                    if (Sim_LoaiSimBUS.XoaSim_LoaiSim(sim_loaiSim))
                    {
                        MessageBox.Show("Xóa thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                        reset = true;
                        this.Dispose();
                    }
                    else
                    {
                        MessageBox.Show("Xóa thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    }
                }
            }
        }
    }
}
